package com.doit.mr.day01;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;

import java.net.URI;

/**
 * @DATE 2021/12/7/19:05
 * @Author MDK
 * @Version 2021.2.2
 * 上传一个普通文件到HDFS
 **/
public class C01_Demo01 {
    public static void main(String[] args) throws Exception{
        //获取HDFS连接对象
        /*
        * 参数一  URI  分布式文件系统 HDFS的资源地址  namenode地址
        * 参数二  Configuration 用户自定义参数  副本3 物理切块 128M
        * 参数三  用户端用户名
        * */
        URI uri = new URI("hdfs://linux01:8020");
        Configuration conf = new Configuration();
        String user = "root";
        FileSystem fs = FileSystem.newInstance(uri, conf, user);

        //调用API上传
        /*
        * 参数一  是否删除源文件
        * 参数二  是否覆盖
        * 参数三  文件源地址
        * 参数四  上传地址
        * */
        Path srcPath = new Path("d://aaa//1.txt");
        Path destPath = new Path("/");
        fs.copyFromLocalFile(false,true, srcPath, destPath);
        fs.close();
    }
}
